package com.fire.chat.annotation;

import com.fire.chat.enums.BusinessDataModel;
import com.fire.chat.enums.LogActionType;
import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;

/**
 * @program: hxzq
 * @description: 日志注解
 * @author: xjr
 * @create: 2020-11-11 09:55
 **/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface BusinessLog {

    /**
     * 日志内容描述,为空时优先取swagger方法注解作为日志标题,支持el表达式
     */
    @AliasFor("value")
    @Deprecated
    String description() default "";

    /**
     * 同description
     */
    @AliasFor("description")
    String value() default "";

    /**
     * 日志等级，越低越重要
     */
    int level() default 0;

    /**
     * 日志动作
     */
    LogActionType type() default  LogActionType.UNKNOWN;


    /**
     * 日志操作表
     */
    BusinessDataModel table() default BusinessDataModel.UNKNOWN;


    /**
     *是否对title解析开启el表达式
     */

    boolean activeEL() default true;


}
